#ifndef _JOUEUR
#define _JOUEUR

struct sJoueur
{ 
  	int bois;
  	int nourriture;
  	int nombre_unites;
  	int nombre_batiments;
  	int joueur_ou_IA;
};

typedef struct sJoueur Joueur;

/* Procédure : InitialisationJoueur 
Précondition : j est créé
Postcondition : initialise la structure Joueur en mettant les valeurs par defaut
Paramètre en mode donnée-résultat : j */ 
void InitialisationJoueur(Joueur * j);


/* Procédure : ModificationReserveBois 
Précondition : j est bien initialisé
Postcondition : change le champ "bois" de la structure Joueur 
Paramètre en mode donnée : ajout_supp_bois
Paramètre en mode donnée-résultat : j */
void ModificationReserveBois(Joueur * j, int ajout_supp_bois);


/* Procédure : ModificationReserveNourriture 
Précondition : j est bien initialisé
Postcondition : change le champ "nourriture" de la structure Joueur 
Paramètre en mode donnée : ajout_supp_nourriture
Paramètre en mode donnée-résultat : j */
void ModificationReserveNourriture(Joueur * j, int ajout_supp_nourriture);


/* Procédure : ModificationNombreUnites 
Précondition : j est bien initialisé
Postcondition : change le champ "nombre_unites" de la structure Joueur 
Paramètre en mode donnée : ajout_supp_unites
Paramètre en mode donnée-résultat : j */
void ModificationNombreUnites(Joueur * j, int ajout_supp_unites);


/* Procédure : ModificationNombreBatiments 
Précondition : j est bien initialisé
Postcondition : change le champ "nombre_batiments" de la structure Joueur 
Paramètre en mode donnée : ajout_supp_batiments
Paramètre en mode donnée-résultat : j */
void ModificationNombreBatiments(Joueur * j, int ajout_supp_batiments);

/* Procédure : JoueurTestRegression() 
Précondition : aucune
Postcondition : teste toutes les fonctions, procédures du module Joueur */
void JoueurTestRegression();

#endif
